Is there a way to access the Analysis Wizard using DXL? Like, I know that all of the Export programs can be called using DXL using an eval_("#include statement. Is there any way to reach the Wizard like this? I'm using 9.4, so my filepath is: |
Re: Analysis Wizard Question eval_("#include <C:/Program Files (x86)/IBM/Rational/DOORS/9.4/lib/dxl/standard/impact/tracewiz.dxl>") --- Martin |
Re: Analysis Wizard Question Martin_Hunter - Mon Jul 30 09:09:33 EDT 2012 |
Re: Analysis Wizard Question Thanks! |
Re: Analysis Wizard Question josiah820 - Mon Jul 30 14:25:07 EDT 2012
That is a tricky one... Try this:
Module modCur = current
// we pass the current Module to the eval context ...
string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
current = modCur
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hide x } // make hide use release
void show (DB x) { block x; destroy x } // make show use block
#include <"DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl>
"
print wizCode
eval_(wizCode)
ack "Hello" // this should be executed after the wizard finished ...
Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS
|
Re: Analysis Wizard Question Mathias Mamsch - Wed Aug 01 12:44:41 EDT 2012
That is a tricky one... Try this:
Module modCur = current
// we pass the current Module to the eval context ...
string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
current = modCur
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hide x } // make hide use release
void show (DB x) { block x; destroy x } // make show use block
#include <"DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl>
"
print wizCode
eval_(wizCode)
ack "Hello" // this should be executed after the wizard finished ...
Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS
Thanks for your help! Josiah |
Re: Analysis Wizard Question josiah820 - Wed Aug 01 13:16:27 EDT 2012 The block of three eval_ statements is the section that I am talking about. Attachments attachment_14871047_Suspect_Links.dxl |
Re: Analysis Wizard Question josiah820 - Wed Aug 01 14:28:14 EDT 2012
You can use the above code in a function to call the script. Just do
void runScriptInEval (Module modCur, string sPath) {
// we pass the current Module to the eval context ...
string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
current = modCur
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hideOld x } // make hide use release
void show (DB x) { block x; release x } // make show use block
#include <">
"
eval_ wizCode
}
Module m = current
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl")
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl")
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/export/html.dxl")
Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS
|
Re: Analysis Wizard Question Mathias Mamsch - Wed Aug 01 17:35:53 EDT 2012
You can use the above code in a function to call the script. Just do
void runScriptInEval (Module modCur, string sPath) {
// we pass the current Module to the eval context ...
string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
current = modCur
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hideOld x } // make hide use release
void show (DB x) { block x; release x } // make show use block
#include <">
"
eval_ wizCode
}
Module m = current
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl")
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl")
runScriptInEval (m, (getenv "DOORSHOME") "lib/dxl/standard/export/html.dxl")
Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS
#include <\" sPath "> with the backslash removed ... Regards, Mathias |
Re: Analysis Wizard Question Mathias Mamsch - Wed Aug 01 17:38:41 EDT 2012 |
Re: Analysis Wizard Question Mathias Mamsch - Wed Aug 01 12:44:41 EDT 2012
That is a tricky one... Try this:
Module modCur = current
// we pass the current Module to the eval context ...
string wizCode = "Module modCur = addr_ " ((addr_ modCur) int) "
current = modCur
void hideOld (DB x) { hide x }
void hide (DB x) { release x; hide x } // make hide use release
void show (DB x) { block x; destroy x } // make show use block
#include <"DOORSHOME") "lib/dxl/standard/impact/tracewiz.dxl>
"
print wizCode
eval_(wizCode)
ack "Hello" // this should be executed after the wizard finished ...
Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS
Module modCur = current current = modCur void hideOld (DB x) { hide x } void hide (DB x) { release x; hide x } // make hide use release void show (DB x) { block x; destroy x } // make show use block eval_("#include <C://Program Files//Telelogic//DOORS_8.3//lib//dxl//standard//compwizard//compwiz.dxl>") ack "Hello" // this should be executed after the wizard finished ... Could you pls help me. I also tried calling run_wizard() of C:\Program Files\Telelogic\DOORS_8.3\lib\dxl\standard\compwizard\include but this did not work #include <C://Program Files//Telelogic//DOORS_8.3//lib//dxl//standard//compwizard//include//wizard.inc> run_wizard() |
Re: Analysis Wizard Question DXLScripter - Tue Aug 28 05:56:51 EDT 2012 {code} eval_(" void hideOld (DB x) { hide x } void hide (DB x) { release x; hide x } // make hide use release void show (DB x) { block x; destroy x } // make show use block #include <C://Program Files//Telelogic//DOORS_8.3//lib//dxl//standard//compwizard//compwiz.dxl> ") This should make the 'show' in the compwiz to instead use block, and stop the script execution until the eval_ ends. In your example your declarations of hide/show will not affect the eval context in any way. Hope this helps, regards, Mathias Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS |